<?php namespace Admin\Controller;
use Hdphp\Controller\Controller;
class GcateController extends CommonController{
	//生命一个属性
	protected $model=null;
	public function __init(){
	   if(is_null($this->model)){
	   		$this->model=new \Common\Model\Gcate;
	   }
	   parent::__init();
	}
	
	
	public function index(){
//		获得所有分类的信息
		$data=$this->model->get();
		
		$data= Data::tree($data,'cname','gcid');
//		分配数据
		View::with('data',$data);
		
	    View::make();
	}	
//	添加类型
	public function add(){
		//获的类型并且分配类型
		$formModel=new \Common\Model\Form;
		$data=$formModel->get();	
		View::with('data',$data);
	//	判断是不是有提交
		if(IS_POST){
			if($this->model->store()) View::success('添加成功',U('Gcate/index'));
				
			View::error($this->model->geterror());
			
		}
		    View::make();
	}
//	删除方法
	public function del(){
//	   获得get传递过来的gcid
		$gcid=Q('get.gcid',0,'intval');
	//删除让自雷上移也就是 说让子类的pid取代要删除的pid
		$pid=$this->model->where('gcid='.$gcid)->pluck('pid');
	//讲子类的pid换成要删除掉娿pid
		$this->model->where('pid='.$gcid)->save(array('pid'=>$pid));
		
//		删除对应gcid的商品分类的那条数据	
		$this->model->where('gcid='.$gcid)->delete();
//		成功提示返回展示页
		View::success('删除成功',U('index'));
	}
//	控制器的分类编辑
	public function edit(){
			if(IS_POST){
				if($this->model->edit()) View::success('修改成功',U('index'));
				View::error($this->model->geterror());
			}
		//	通过获得get传递的gcid来获得旧数据
			$gcid=Q('get.gcid',0,'intval');
		//	忽的所有类型
			$data=(new \Common\Model\Form)->get();				
			$oldData=$this->model->where('gcid='.$gcid)->find();
			//分配旧数据
//			$cate=$this->model->get();
//			获得不包括自己和自己的子分类的内容
			$cate=$this->model->getNoMy($gcid);	
			View::with('cate',$cate);
			View::with('data',$data);
			View::with('oldData',$oldData);
	
			
			    View::make();
	}
//	添加子分类
	public function addSon(){
//	获得get参数，获得旧数据
	$olddata=$this->model->where('gcid='.Q('get.gcid',0 ,'intval'))->find();
	$form=(new \Common\Model\Form)->get();
	View::with('form',$form);
	View::with('oldData',$olddata);
		if(IS_POST){
			if($this->model->addSon()) View::success('添加成功',U('index'));		
			View::error($this->model->geterror());
		}
	    View::make();
	}
}
?>